库操作,DDL
创建,create
---------
(create,几乎所有的结构都是用该语法完成)
create database 库名 [库选项]
![](0FF04507E1DE15EBAE5A03C7387D9535.png)
注意的问题:
库选项,只有字符集,校对集的概念!
每个库,会对应一个数据目录
存放在当前mysql的总的数据库目录内
参考 mysql的配置文件得到该目录:
![](B05345A9B3510A93D68B4183B020A53D.png)
![](F74F7A643590EC95200F67374C818129.png)
看到刚刚的数据库目录:
![](5A61BBE014EAE94931C7478AEBB47C44.png)
看看目录内,没有表,没有其他文件,除了一个数据库选项文件:
![](70B196DE7392F8BDB67FBB06EA5EEB87.png)
![](19A3DCE0DE1864D52B5447D47CA69E0A.png)
数据库名的问题
大小写问题,取决于mysql服务器,所在的操作系统!(建议是,认为区分)
特殊名称,关键字,特殊字符等!默认是不可以的!
![](B781873D1812B5784A3C189F13476577.png)
但是,可以使用反引号将名称包裹起来,告知服务器,此处一个名字,而不是特殊操作!
![](0959D33D8E9EB2FF564F88DDCFF4792A.png)
中文等都可以作为标识符(库名),需要同样反引号!(多字节字符,还需要注意字符集的问题)
![](E6F1B061CC873B9B52173DED271921F0.png)
===================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
查询(看看有哪些库,库的基本结构),show
----------------------
### 查询已有的数据库名字
show databases;
![](617085416CE51F9B6599176A4FD1A37F.png)
show databases likes;
like 关键字用于过滤多个数据库!
![](96DD7F85C3D30A5E2C93D74D92C69778.png)
可以使用通配符(通用匹配符,可以匹配多个字符)
% 匹配任意字符的任意次数(包括0次)的组合!
\_ 匹配任意字符的一次!
like ‘x\_y’;
x1y xby xxy(可以)
xy(不可以)
通配符是与 like 关键字一起使用!
注意如需要匹配特定的通配符,则需要对通配符转义,使用反斜杠\\完成转义!
![](6239ECA55077A94A4EDC52F6272CB99A.png)
==================================================================================================================================================================================================================================================================================================================================================================================================================================================================
### 查看某个数据库的定义
show create database 库名;
![](1BA39A3C9C4ACFA0F20EF657901EF7BE.png)
![](E3D562A3E83DEA318C0F37C4C253DEF4.png)
==========================================================================================================================================================
修改,alter
--------
alter database 数据库名
只能修改数据库选项
![](03062C109DB43D08CED6FE8107C7848B.png)
=============================================================================================================
删除,drop
-------
drop database 名字
![](06F832F4F4A273F0CDE2968AED0C8FC1.png)
=============================================================================================
if not exists, if exists
------------------------
在 create 与 drop 时,创建和删除时,有两个额外的操作:
create database if not exists 库名
如果不存在则创建
drop database if exists 库名
如果存在,则删除
![](3B501196D835195D9BCA79056427E922.png)
==================================================================================================================================================================================================================================
删除库
---
增加删除的链接,传递所操作的库名!
在数据库列表页:
![](C83A44EBBE0CE89A68CF269B0849A8FF.jpg)
![](869422D33ED73537CD939880336D346F.png)
增加一个处理删除的功能页面:
在形成 sql时,只要出现了标识符(库名,表名,字段名,索引名),都使用反引号!
请求跳转:
header(‘Location: url’);//告知浏览器,对新的url发出请求!
database\_drop.php
![](B95DE847E4792B1AC15BD66A48E764C4.png)
========================================================================================================================================================================================================================================================================================================================================================================================
新建库
---
执行 create database
列表页,增加一个链接,请求到创建页:
![](266C118A43D5F6B071518437D0602D10.png)
增加一个create\_form表单页面
![](6746891CAE838E393F1E64338C739B0B.png)
在增加一个脚本处理该数据即可
database\_create.php
![](1AC8A4B121F7C464DA8423A947DA8185.png)
如果存在多个选项,因该如何处理?
例如字符集!
应该,取得所有的字符集。
利用 show character set;可以展示所有的字符集!
![](D66291891FA2219AC70AE6529C9964B0.png)
![](93F5255B0FB8EE861B01E2E525D27E5C.png)
在创建库时,需要先对哪个字符集做一次判断!(是否是默认)
database\_create.php
![](7C8366F544C6C5DBABCA87FC653B482A.png)
=====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================